//! [module]
import QtQuick 2.15
/*!
    \qmltype Module
    \inqmlmodule module1
    \brief 模块1的QML接口组件

    该组件封装了Module类的功能，提供状态管理和操作接口。
*/
Item {
    id: root

    /*!
        \qmlproperty int Module::status
        当前模块状态：
        \list
            \li 0 - 未初始化
            \li 1 - 已初始化
            \li 2 - 运行中
        \endlist
    */
    property int status: 0

    /*!
        \qmlproperty string Module::config
        模块配置信息
    */
    property string config: ""

    /*!
        \qmlsignal Module::initialized
        初始化完成时触发
    */
    signal initialized()

    /*!
        \qmlsignal Module::executed
        执行完成时触发
        \param result 执行结果
    */
    signal executed(int result)

    /*!
        \qmlmethod Module::initialize()
        初始化模块，设置状态为1
    */
    function initialize() {
        status = 1
        initialized()
    }

    /*!
        \qmlmethod Module::execute(int input)
        执行模块功能
        \param input 输入参数
        \return 输入值的两倍
    */
    function execute(input) {
        status = 2
        var res = input * 2
        executed(res)
        return res
    }

    /*!
        \qmlmethod Module::reset()
        重置模块状态
    */
    function reset() {
        status = 0
        config = ""
    }
}

//! [module]
